package pl.edu.agh.ros.proxy.internal.node;

import org.ros.exception.ServiceNotFoundException;
import org.ros.internal.node.DefaultNode;
import org.ros.internal.node.service.ServiceResponseBuilder;
import org.ros.message.MessageListener;
import org.ros.namespace.GraphName;
import org.ros.node.NodeConfiguration;
import org.ros.node.service.ServiceClient;
import org.ros.node.service.ServiceServer;
import org.ros.node.topic.Publisher;
import org.ros.node.topic.Subscriber;

/**
 * @author snulio@gmail.com (Dariusz Zieba)
 */
public class ProxyNode extends DefaultNode {

	public ProxyNode(NodeConfiguration nodeConfiguration) {
		super(nodeConfiguration);
		// TODO Auto-generated constructor stub
	}

	@Override
	public <MessageType> Publisher<MessageType> newPublisher(GraphName topicName, String messageType) {
		// TODO Auto-generated method stub
		return super.newPublisher(topicName, messageType);
	}

	@Override
	public <MessageType> Publisher<MessageType> newPublisher(String topicName, String messageType) {
		// TODO Auto-generated method stub
		return super.newPublisher(topicName, messageType);
	}

	@Override
	public <RequestType, ResponseType> ServiceClient<RequestType, ResponseType> newServiceClient(GraphName serviceName,
			String serviceType) throws ServiceNotFoundException {
		// TODO Auto-generated method stub
		return super.newServiceClient(serviceName, serviceType);
	}

	@Override
	public <RequestType, ResponseType> ServiceClient<RequestType, ResponseType> newServiceClient(String serviceName,
			String serviceType) throws ServiceNotFoundException {
		// TODO Auto-generated method stub
		return super.newServiceClient(serviceName, serviceType);
	}

	@Override
	public <RequestType, ResponseType> ServiceServer<RequestType, ResponseType> newServiceServer(GraphName serviceName,
			String serviceType, ServiceResponseBuilder<RequestType, ResponseType> responseBuilder) {
		// TODO Auto-generated method stub
		return super.newServiceServer(serviceName, serviceType, responseBuilder);
	}

	@Override
	public <RequestType, ResponseType> ServiceServer<RequestType, ResponseType> newServiceServer(String serviceName,
			String serviceType, ServiceResponseBuilder<RequestType, ResponseType> responseBuilder) {
		// TODO Auto-generated method stub
		return super.newServiceServer(serviceName, serviceType, responseBuilder);
	}

	@Override
	public <MessageType> Subscriber<MessageType> newSubscriber(GraphName topicName, String messageType,
			MessageListener<MessageType> listener) {
		// TODO Auto-generated method stub
		return super.newSubscriber(topicName, messageType, listener);
	}

	@Override
	public <MessageType> Subscriber<MessageType> newSubscriber(String topicName, String messageType,
			MessageListener<MessageType> listener) {
		// TODO Auto-generated method stub
		return super.newSubscriber(topicName, messageType, listener);
	}

}
